<?php

/**
 * Aluno form.
 *
 * @package    form
 * @subpackage Aluno
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 6174 2007-11-27 06:22:40Z fabien $
 */
class AlunoForm extends BaseAlunoForm
{
  	public function configure()
  	{
  		parent::configure();
  		
  		$this->widgetSchema['nm_aluno'] = new sfWidgetFormInput(
  			array(),
  			array('size' => '50', 'class'=>"{required:true, messages:{required:'O campo Nome é obrigatório.'}}")
  		);
  		
  		$options = array('N'=>'Inativo', 'A'=>'Ativo');
		$this->widgetSchema['st_aluno'] = new sfWidgetFormChoice(
			array('choices'=>$options, 'expanded'=>false, 'multiple'=>false),
			array('class' => 'radio inline')
		);
		$this->setDefault('st_aluno', 'A');
		
		$options = array('M'=>'Masculino', 'F'=>'Feminino');
		$this->widgetSchema['tp_sexo'] = new sfWidgetFormChoice(
			array('choices'=>$options, 'expanded'=>false, 'multiple'=>false),
			array('class' => 'radio inline')
		);
		$this->setDefault('tp_sexo', 'S');
		
		$this->widgetSchema['dt_nascimento'] = new sfWidgetFormInput(
			array(),
  			array('size' => '25', 'class'=>"{required:true, messages:{required:'O campo Data de Nascimento é obrigatório.'}}")
		);
		$this->validatorSchema['dt_nascimento'] = new sfValidatori18nDate(array('required' => false));
		
		$this->widgetSchema['dt_nascimento_pai'] = new sfWidgetFormInput(
			array(),
  			array('size' => '25', 'class' => "")
		);
		$this->validatorSchema['dt_nascimento_pai'] = new sfValidatori18nDate(array('required' => false));
		
		$this->widgetSchema['dt_nascimento_mae'] = new sfWidgetFormInput(
			array(),
  			array('size' => '25', 'class' => "")
		);
		$this->validatorSchema['dt_nascimento_mae'] = new sfValidatori18nDate(array('required' => false));
		
		$options = array('S'=>'Sim', 'N'=>'Não');
		$this->widgetSchema['st_pai'] = new sfWidgetFormChoice(
			array('choices'=>$options, 'expanded'=>false, 'multiple'=>false),
			array('class' => 'radio inline')
		);
		
		$options = array('S'=>'Sim', 'N'=>'Não');
		$this->widgetSchema['st_mae'] = new sfWidgetFormChoice(
			array('choices'=>$options, 'expanded'=>false, 'multiple'=>false),
			array('class' => 'radio inline')
		);
		
		$options = array('S'=>'Sim', 'N'=>'Não');
		$this->widgetSchema['st_pais_juntos'] = new sfWidgetFormChoice(
			array('choices'=>$options, 'expanded'=>false, 'multiple'=>false),
			array('class' => 'radio inline')
		);
		
		$options = array('S'=>'Sim', 'N'=>'Não');
		$this->widgetSchema['st_transporte_escolar'] = new sfWidgetFormChoice(
			array(
				'choices'=>$options, 
				'expanded'=>false, 
				'multiple'=>false
				//'renderer_options' => array('formatter' => array($this, 'formatter'))
			),
			array('class' => 'radio inline')
		);
		
		// Endereço
		$form_endereco 				= new EnderecoForm($this->object->Endereco);
		$this->embedForm('endereco', $form_endereco);
		
		//Dados do Responsável
		//$dadosResponsavelForm	= new DadosResponsavelForm($this->object->DadosResponsavel);
		//$this->embedForm('responsavel', $dadosResponsavelForm);
		
		// validadores
		$this->validatorSchema['nu_telefone_celular_pai'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		$this->validatorSchema['nu_telefone_comercial_pai'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		$this->validatorSchema['nu_telefone_celular_mae'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		$this->validatorSchema['nu_telefone_comercial_mae'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		$this->validatorSchema['nu_fone_1'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		$this->validatorSchema['nu_fone_2'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		$this->validatorSchema['nu_fone_3'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		$this->validatorSchema['nu_telefone_transporte_escolar'] = new sfValidatorClearFormat(array('type' => 'fone','required' => false));
		
  		$this->widgetSchema->setLabels(array(
  			'id_aluno'                        => 'ID#',
	        'nm_aluno'                        => 'Nome do aluno',
	        'tp_sexo'                         => 'Sexo',
	        'dt_nascimento'                   => 'Data nascimento',
	        'nm_pai'                          => 'Nome do pai',
	        'nm_mae'                          => 'Nome da mãe',
	        'nm_profissao_pai'                => 'Profissão do pai',
	        'nm_empresa_pai'                  => 'Empresa',
	        'nm_profissao_mae'                => 'Profissão da mãe',
	        'nm_empresa_mae'                  => 'Empresa',
	        'nu_telefone_pai'                 => 'Fone',
	        'nu_telefone_comercial_pai'       => 'Fone comercial',
	        'nu_telefone_celular_pai'         => 'Fone celular',
	        'dt_nascimento_pai'               => 'Data nascimento pai',
	        'nu_telefone_mae'                 => 'Fone',
	        'nu_telefone_comercial_mae'       => 'Fone comercial',
	        'nu_telefone_celular_mae'         => 'Fone celular',
	        'dt_nascimento_mae'               => 'Data nascimento mãe',
	        'st_pai'                          => 'Pai vivo?',
	        'st_mae'                          => 'Mãe viva?',
	        'st_pais_juntos'                  => 'Vivem juntos?',
	        'ds_naturalidade'                 => 'Naturalidade',
	        'nu_fone_1'                       => 'Fone 01',
	        'nu_fone_2'                       => 'Fone 02',
	        'nu_fone_3'                       => 'Fone 03',
	        'id_dados_responsavel'            => 'Dados Responsável',
  			'id_endereco'					  => 'ID Endereço',
	        'st_transporte_escolar'           => 'Utiliza transporte escolar?',
	        'nm_transporte_escolar'           => 'Nome do transporte escolar',
	        'nm_motorista_transporte_escolar' => 'Nome do motorista',
	        'nu_telefone_transporte_escolar'  => 'Telefone do transporte escolar',
	        'st_aluno'                        => 'Situação',
	        'user_id'                         => 'Por',
	        'slug'                            => 'Slug',
	        'created_at'                      => 'Cadastrado em',
	        'updated_at'                      => 'Atualizado em'
		));
		
		//$this->validatorSchema->setOption('allow_extra_fields', true);
  	}
  	
	public function saveEmbeddedForms($con = null, $forms = null)
	{
		return parent::saveEmbeddedForms($con, $forms);
	}

	public function updateObject($values = null)
	{
		$object = parent::updateObject($values);

		// Don't break subclasses!
		return $object;
	}
}